.timelineEvent {
  transition: all 0.2s ease;
  position: relative;
}

.timelineEvent::before {
  content: '';
  position: absolute;
  top: 50%;
  left: -20px;
  width: 20px;
  height: 2px;
  background: currentColor;
  opacity: 0;
  transition: opacity 0.2s ease;
  transform: translateY(-50%);
}

.timelineEvent.hasParent::before {
  opacity: 0.3;
}

.timelineEvent:hover::before {
  opacity: 0.6;
}

.connectionLine {
  position: absolute;
  background: rgba(156, 163, 175, 0.4);
  height: 2px;
  transform-origin: left center;
  transition: all 0.2s ease;
}

.connectionLine.active {
  background: rgba(59, 130, 246, 0.6);
  height: 3px;
}

.timeRuler {
  background: linear-gradient(
    to right,
    transparent 0%,
    rgba(0, 0, 0, 0.05) 50%,
    transparent 100%
  );
}

.expandButton {
  transition: transform 0.2s ease;
}

.expandButton.expanded {
  transform: rotate(90deg);
}
